<?php

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 * Description of con_rutas_usuario
 *
 * @author xps
 */
class con_rutas_usuario extends CI_Controller{
    //put your code here
    public function __construct() 
    {
        parent::__construct();
        //$this->output->enable_profiler(TRUE);
        $this->load->model('mod_rutas_usuario');
    }
    function index()
    {
        $this->form_validation->set_rules('fecha_inicio', 'fecha_inicio', 'required|trim');
        $this->form_validation->set_rules('fecha_fin', 'fecha_fin', 'required|trim');
        $this->form_validation->set_rules('supervisor', 'supervisor', 'required|trim');
        

        $this->form_validation->set_message('required', 'Debe introducir el campo %s');       
        
        if($this->form_validation->run()==FALSE){
            
                $this->load->view('view_informe_rutas');	
        }else{
            
           $datos['supervisor'] = $this->input->post('supervisor');
           /*
            * todos los usuarios
            */
           if($datos['supervisor'] == 0)
           {

                $listado_usuarios = $this->mod_rutas_usuario->selecciona_todos_usuarios();
                for($n = 0; $n < count($listado_usuarios );$n++)
                {
                   $datos['supervisor'] = $listado_usuarios[$n]->id_usuario;
                   $nombre_supervisor = $this->mod_rutas_usuario->selecciona_usuario($datos['supervisor']);
                   $posiciones_usuarios['posiciones'][$n] = $total_valores = $this->mod_rutas_usuario->select_mongo_detalle_pocisiones($datos);                    
                   $data['centro'] = '-35,437215, -71,6926433333333';
                   $data['zoom'] = 'auto';
                   
                   $this->googlemaps->make_maps($data);
                   $polyline = array();
                   $polyline['strokeColor'] = $this->mod_rutas_usuario->selecciona_color_usuario($datos['supervisor']);
                   
                   $total_posiciones  = 0;
                   $total_posiciones_repetidas = 0;
                   
                   for($k = 0; $k < count($total_valores);$k++)
                   {
                        $latitud = $total_valores[$k]['posicion_gps']['lat'];
                        $longitud = $total_valores[$k]['posicion_gps']['lng'];
                        
                        if($k == 0)                             
                         {
                             $latitud_anterior = round($latitud,2);
                             $longitud_anterior = round($longitud,2);      
                             $texto = $nombre_supervisor;
                             $posicion = $latitud.', '.$longitud;
                             $polyline['points'][$k]=$posicion;
                             $texto .= '<br><strong> Latitud : </strong>'.$total_valores[$k]['posicion_gps']['lat'].'';
                             $texto .='<br><strong>Longitud : </strong>'.$total_valores[$k]['posicion_gps']['lng'];
                             $texto .= '<br><strong>Fecha : </strong>'.date("d/m/Y H:i:s",$total_valores[$k]['fecha']->sec);
                             $texto .='<br><strong>Pais : </strong>'.$total_valores[$k]['localidad']['pais'];
                             $texto .='<br><strong>Provincia : </strong>'.$total_valores[$k]['localidad']['provincia'];
                             $texto .='<br><strong>Localidad : </strong>'.$total_valores[$k]['localidad']['localidad'];
                             $texto .='<br><strong>Velocidad : </strong>'.$total_valores[$k]['velocidad'];
                             $marker = array('posicion'=> $posicion,'texto'=>$texto);
                             $this->googlemaps->marker_maps($marker);
                         }
                         else{
                             if((round($latitud,2) == $latitud_anterior) && (round($longitud,2) == $longitud_anterior ))
                             {
                             
                                        $total_posiciones_repetidas = $total_posiciones_repetidas + 1;                                                
                             }
                             else {
                                 $texto = $nombre_supervisor;
                                 $posicion = $latitud.', '.$longitud;
                                 $polyline['points'][$k]=$posicion;
                                 $texto .= '<br><strong> Latitud : </strong>'.$total_valores[$k]['posicion_gps']['lat'].'';
                                 $texto .='<br><strong>Longitud : </strong>'.$total_valores[$k]['posicion_gps']['lng'];
                                 $texto .= '<br><strong>Fecha : </strong>'.date("d/m/Y H:i:s",$total_valores[$k]['fecha']->sec);
                                 $texto .='<br><strong>Pais : </strong>'.$total_valores[$k]['localidad']['pais'];
                                 $texto .='<br><strong>Provincia : </strong>'.$total_valores[$k]['localidad']['provincia'];
                                 $texto .='<br><strong>Localidad : </strong>'.$total_valores[$k]['localidad']['localidad'];
                                 $texto .='<br><strong>Velocidad : </strong>'.$total_valores[$k]['velocidad'];
                                 $marker = array('posicion'=> $posicion,'texto'=>$texto);
                                 $this->googlemaps->marker_maps($marker);
                                 
                                 $latitud_anterior = round($latitud,2);
                                 $longitud_anterior = round($longitud,2);

                                 $total_posiciones = $total_posiciones+1;      
                                 
                             }
                         }
                        
                   }  $this->googlemaps->add_polyline($polyline);
                    
                }
                 $this->googlemaps->add_polyline($polyline);

                   $data['map'] = $this->googlemaps->create_map();
    
                   $this->load->view('view_informe_rutas',$data);
           }                                
           else{
               //lee el nombre del usuario
             $nombre_supervisor = $this->mod_rutas_usuario->selecciona_usuario($datos['supervisor']);                                    
                     
           //Lee el total de las consultas
             $total_valores = $this->mod_rutas_usuario->select_mongo_detalle_pocisiones($datos);                         
             

             if($total_valores==0)
             {             
                 $this->session->set_flashdata('modal_error',consulta_vacia);
                 redirect('con_rutas_usuario');
             }
             
            $data['centro'] = '-35,437215, -71,6926433333333';
            $data['zoom'] = 'auto';

            $this->googlemaps->make_maps($data);
            
           
            //echo count($total_valores);
            //break;
            $polyline = array();
            $polyline['strokeColor'] = $this->mod_rutas_usuario->selecciona_color_usuario($datos['supervisor']);
            $total_posiciones  = 0;
            $total_posiciones_repetidas = 0;
            for($i = 0; $i < count($total_valores); $i++)
            {
                $latitud = $total_valores[$i]['posicion_gps']['lat'];
                $longitud = $total_valores[$i]['posicion_gps']['lng'];
                
                if($i == 0)
                {
                    $latitud_anterior = round($latitud,2);
                    $longitud_anterior = round($longitud,2);      
                    $texto = $nombre_supervisor;
                    $posicion = $latitud.', '.$longitud;
                    $polyline['points'][$i]=$posicion;
                    $texto .= '<br><strong> Latitud : </strong>'.$total_valores[$i]['posicion_gps']['lat'].'';
                    $texto .='<br><strong>Longitud : </strong>'.$total_valores[$i]['posicion_gps']['lng'];
                    $texto .= '<br><strong>Fecha : </strong>'.date("d/m/Y H:i:s",$total_valores[$i]['fecha']->sec);
                    $texto .='<br><strong>Pais : </strong>'.$total_valores[$i]['localidad']['pais'];
                    $texto .='<br><strong>Provincia : </strong>'.$total_valores[$i]['localidad']['provincia'];
                    $texto .='<br><strong>Localidad : </strong>'.$total_valores[$i]['localidad']['localidad'];
                    $texto .='<br><strong>Velocidad : </strong>'.$total_valores[$i]['velocidad'];
                    $marker = array('posicion'=> $posicion,'texto'=>$texto);
                    $this->googlemaps->marker_maps($marker);
                }
                else{
                    if((round($latitud,2) == $latitud_anterior) && (round($longitud,2) == $longitud_anterior )){
                        $total_posiciones_repetidas = $total_posiciones_repetidas + 1;                                                
                    }
                    else {
                        $texto = $nombre_supervisor;
                          
                          $posicion = $latitud.', '.$longitud;
                          $polyline['points'][$i]=$posicion;
                          $texto .= '<br><strong> Latitud : </strong>'.$total_valores[$i]['posicion_gps']['lat'].'';
                          $texto .='<br><strong>Longitud : </strong>'.$total_valores[$i]['posicion_gps']['lng'];
                          $texto .= '<br><strong>Fecha : </strong>'.date("d/m/Y H:i:s",$total_valores[$i]['fecha']->sec);
                          $texto .='<br><strong>Pais : </strong>'.$total_valores[$i]['localidad']['pais'];
                          $texto .='<br><strong>Provincia : </strong>'.$total_valores[$i]['localidad']['provincia'];
                          $texto .='<br><strong>Localidad : </strong>'.$total_valores[$i]['localidad']['localidad'];
                          $texto .='<br><strong>Velocidad : </strong>'.$total_valores[$i]['velocidad'];
                          $marker = array('posicion'=> $posicion,'texto'=>$texto);
                          $this->googlemaps->marker_maps($marker);
                          
                  
                          $latitud_anterior = round($latitud,2);
                          $longitud_anterior = round($longitud,2);
                         
                        $total_posiciones = $total_posiciones+1;
                    }                                            
                }
            }
   
            $this->googlemaps->add_polyline($polyline);

            $data['map'] = $this->googlemaps->create_map();
    
            $this->load->view('view_informe_rutas',$data);
           }
           

        }
    }
    function agrega_marcador($latitud = '', $longitud='',$total_valores = array() )
    {
           
            
    }
}

?>
